// ●●●★★★●●●
// console.log([] == [])
// console.log("0" == 0)
// console.log({} == ![])
// console.log({} == !{})
/**
 * 对象和布尔值比较
 *  字符串->数字
 * 对象和字符串比较
 *  字符串
 * 对象和数字比较
 *  字符串->数字
 * 字符串和数字比较
 *  数字
 * 字符串和布尔值比较
 *  数值
 * 布尔值和数字比较
 *  数字
 */

// ●●●★★★●●●
// let a = {
//   n: 10,
// }
// let b = a
// b.m = b = {
//   n: 20,
// }
// console.log(a)
// console.log(b)

// ●●●★★★●●●
/*
 * 360面试题
 * 函数的形参根据实参传递的数据类型进行堆栈分配
 */
// let x = [12, 23]
// function fn(y) {
//   y[0] = 100
//   y = [100]
//   y[1] = 200
//   console.log(y)
// }
// fn(x)
// console.log(x)

// // ●●●★★★●●●
// let a = {},
//   b = {
//     n: "1",
//   },
//   c = {
//     m: "2",
//   }
// a[b] = "珠峰"
// a[c] = "培训"
// console.log(a[b])

// // ●●●★★★●●●
// let a = {},
// b = Symbol('1'), //=>唯一值
// c = Symbol('1');
// a[b] = '珠峰';
// a[c] = '培训';
// console.log(a[b]);​

// let a = {
//   n: 12
// };
// let b = a;
// b = {
//   n: 13
// };
// console.log(a.n);

// // ●●●★★★●●●
// let x = 5
// function fn(x) {
//   return function (y) {
//     console.log(y + ++x)
//   }
// }
// let f = fn(6)
// f(7)
// fn(8)(9)
// f(10)
// console.log(x)

// ●●●★★★●●●
// let a = 0,
//   b = 0
// function A(a) {
//   A = function (b) {
//     alert(a + b++)
//   }
//   alert(a++)
// }
// A(1)
// A(2)



